/**
 * style.less
 * @author wangbo
 * @since 2019-02-21
 */

@import '../../fonts/iconfont';
@import '../../css/animation';
@import '../../css/gridBase';
@import '../../css/mixins';
.table-wrap {
    position: relative;
    overflow: hidden;
    border: var(--gm-border);
    background: var(--gm-bg);
    .table-header {
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: var(--gm-bg-high);
        border-bottom: var(--gm-border);
    }
    .table-div {
        overflow-x: hidden;
        overflow-y: auto;
        /*数据为空时，禁用Y轴滚动*/
        &.empty-data{
            overflow-y: hidden;
        }
        &[gm-overflow-x="true"]{
            overflow-x: auto;
        }
    }

    // 配置是否禁用边框线
    &.disable-border {
        border: none;
    }

    // 禁用分割线模式
    &.disable-line {
        tr{
            th, td {
                border-right-color: transparent;
            }
        }
    }
}

/* table */
[grid-manager]{
    table-layout: fixed;
    word-wrap: break-word;
    text-align: center;
    width: 100%;
    border-spacing: 0;
    border-collapse: separate; // 属性值默认为 separate，但为防止受其它样式影响，需要在这里进行设置
}
/* table: fixed模块也会使用到，所以不使用[grid-manager]做为根节点*/
.table-wrap {
    tr {
        [last-visible]{
            border-right: none;
        }
        td {
            border-bottom: var(--gm-border);
            &[gm-focus-td]{
                box-shadow: inset 0 0 0 1px var(--gm-color-active) !important; // important用于处理固定列样式权重过高问题
            }
        }
    }

    th, td {
        border-right: var(--gm-border);
        // 文本对齐
        &[align="left"] {
            text-align: left;
        }
        &[align="center"] {
            text-align: center;
        }
        &[align="right"] {
            text-align: right;
        }

        // 不可见单元格
        &[cell-hidden]{
            display: none;
        }
    }
    th {
        text-align: left;
        margin: 0;
        padding: 0;
        line-height: 18px;
        font-weight: 400;
        &:hover{
            background: #e8e8e8;
        }
        .th-wrap {
            /*减去的1px 为border-right. 原因是table元素存在特殊性, thead浮动后border的宽度不会计算到th内,而是会在原基础上将th的宽加1. */
            width: calc(100% - 1px);
            height: 100%;
            position: relative;
            padding: 6px 11px;
            .th-text {
                display: block;
                width: 100%;
                height: 100%;
                .text-overflow();
            }
        }
    }
    td {
        .text-overflow();
        background: var(--gm-bg);
        color: #3d3d3d;
        padding: 11px;
        vertical-align: middle;
        text-align: left;
        //&:last-child{
        //    border-right: none;
        //}
        // 默认的空模板样式
        .gm-empty-template {
            width: 100%;
            height: 80px;
            line-height: 80px;
            text-align: center;
            font-size: 16px;
            color: #ddd;
        }
    }
    thead {
        &[grid-manager-thead]{
            visibility: hidden;
        }
        tr {
            height: 39px;
            // 复杂表头需要border-top
            th{
                border-top: var(--gm-border);
            }
            &:first-child th{
                border-top: none;
            }
        }
    }
    tbody {
        tr {
            height: var(--gm-line-height);
            &:nth-child(odd) td{
                background: var(--gm-bg-odd);
            }
            &:hover td{
                background-color: #F1F8FB;
            }
            &[empty-template]{
                td{
                    border-bottom: none;
                    border-right: none;
                    background: var(--gm-bg);
                    padding: 0;
                }
            }
        }

        // 当前数据充满了tbody
        &[filled] tr:last-child td{
            border-bottom: none;
        }
        &[word-break] tr td{
            white-space: normal;
            overflow: visible;
        }
    }
}
// 表头的icon图标跟随文本
.gm-icon-follow-text{
    th:not([gm-create]){
        .th-wrap{
            display: inline-block;
            vertical-align: middle;
            padding-left: 5px !important;
            padding-right: 5px !important;
            font-size: 0;
            white-space: nowrap; // 用于防止图标换行的情况
        }
        .th-text{
            display: inline-block!important;
            width: auto!important;
            max-width: 100%;
            vertical-align: middle;
            font-size: var(--gm-font-size);
        }
    }
}
